﻿using System;

using Yawf.Security.Entities;
using Yawf.Core.Exceptions;
using Yawf.Web.Utils;

namespace Yawf.Web.Managers {
	public interface IErrorManager {
		/// <summary>
		/// This method is called by the MVCControler when a VCGException occurs while}
		/// processing a request. This method should write proper output to reponseWrapper
		/// </summary>
		/// <param name="requestWrapper">RequestWrapper object</param>
		/// <param name="responseWrapper">ResponseWrapper object</param>
		/// <param name="resourcePath">path to resource that has been requested</param>
		/// <param name="user">currently logged on user, could be null</param>
		/// <param name="e">VCGException object that has ocurred during process of request</param>
		void HandleError(RequestWrapper requestWrapper,ResponseWrapper responseWrapper,String resourcePath,IUser user,YawfException e);
	
	}
}
